package org.example.musicproject.dao;

import org.example.musicproject.entity.CommentAddsongs;

import java.sql.Connection;
import java.util.List;

public interface CommentAddsongsDao {
    /**
     * 查询所有评论歌曲关系绑定信息
     * @return 返回评论歌曲关系绑定信息集合
     */
    List<CommentAddsongs> all();

    /**
     * 根据id查询评论歌曲关系绑定信息
     * @param id 评论歌曲关系绑定编号
     * @return 返回一个评论歌曲关系绑定信息
     */
    CommentAddsongs byId(int id);

    /**
     * 添加评论歌曲关系绑定信息
     * @param commentAddsongs 评论歌曲关系绑定信息实体类
     * @return 返回受影响行数
     */
    int add(CommentAddsongs commentAddsongs);

    /**
     * 添加评论歌曲关系的绑定
     * @param conn 连接池
     * @param cid 评论信息编号
     * @param soid 歌曲信息编号
     * @return 返回受影响行数
     */
    int add(Connection conn,int cid,int soid);

    /**
     *修改评论歌曲关系绑定信息
     * @param commentAddsongs 评论歌曲关系绑定信息实体类
     * @return 返回受影响行数
     */
    int update(CommentAddsongs commentAddsongs);

    /**
     * 删除评论后要删除该评论与歌曲的绑定关系
     * @param cid pl编号
     * @return 返回受影响行数
     */
    int delete(int cid,String delReason);

    /**
     * 删除歌曲评论关系绑定表里的评论
     * @param conn 连接池
     * @param soid 歌曲编号
     * @return 返回受影响行数
     */
    int deleteBySoid(Connection conn, int soid);
}
